Use XFixesChangeSaveSet if available. (#314682)
authorMatthias Clasen <mclasen@redhat.com>
Mon, 29 Aug 2005 17:18:12 +0000 (17:18 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 29 Aug 2005 17:18:12 +0000 (17:18 +0000)
2005-08-29  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify):
Use XFixesChangeSaveSet if available.  (#314682)

ChangeLog
ChangeLog.pre-2-10
gtk/gtksocket-x11.c

index 891cdcdd419d7f53dc09f9cafbb8d394af42bf01..4aef53840eebdfa142853a7a922ebe718d929924 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
+       Use XFixesChangeSaveSet if available.  (#314682)
+
        * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
        was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
 
index 891cdcdd419d7f53dc09f9cafbb8d394af42bf01..4aef53840eebdfa142853a7a922ebe718d929924 100644 (file)
@@ -1,5 +1,8 @@
 2005-08-29  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtksocket-x11.c (_gtk_socket_windowing_embed_notify): 
+       Use XFixesChangeSaveSet if available.  (#314682)
+
        * gtk/gtkmenu.c (gtk_menu_grab_notify):  Only cancel if the menu
        was active.  (#314298, Christian Persch, analysis by Mark McLoughlin)
 
index 46d7f5f216a0c70c17c9f6eb05ef3a7bbbd5fb18..5dad07eeeb4d1c11df8230e401be5d49c3214b8d 100644 (file)
 
 #include "x11/gdkx.h"
 
+#ifdef HAVE_XFIXES
+#include <X11/extensions/Xfixes.h>
+#endif
+
 #include "gtkxembed.h"
 #include "gtkalias.h"
 
@@ -263,6 +267,13 @@ _gtk_socket_windowing_embed_get_info (GtkSocket *socket)
 void
 _gtk_socket_windowing_embed_notify (GtkSocket *socket)
 {
+#ifdef HAVE_XFIXES
+  GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (socket);
+
+  XFixesChangeSaveSet (GDK_DISPLAY_XDISPLAY (display)),
+                      GDK_WINDOW_XWINDOW (socket->plug_window),
+                      SetModeInsert, SaveSetRoot, SaveSetUnmap);
+#endif
   _gtk_xembed_send_message (socket->plug_window,
                            XEMBED_EMBEDDED_NOTIFY, 0,
                            GDK_WINDOW_XWINDOW (GTK_WIDGET (socket)->window),